﻿using System;
using System.Collections.Generic;
using FluorineFx;
using Neturion.Dados;
using Neturion.Fachadas;

namespace Neturion.Servicos
{
    [RemotingService]
    public class ServicoObservacao
    {
        public Observacao Inserir(Observacao observacao, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Inserir(observacao, usuarioPermissao);
        }

        public Observacao Atualizar(Observacao observacao, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Atualizar(observacao, usuarioPermissao);
        }

        public void Excluir(Observacao observacao, Usuario usuarioPermissao)
        {
            Fachada.GetInstancia().Excluir(observacao, usuarioPermissao);
        }

        public Observacao ObterObservacaoPorId(int id, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterObservacaoPorId(id, usuarioPermissao);
        }

        public IList<Observacao> ObterTodosObservacaos(Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTodosObservacaos(usuarioPermissao);
        }

        public IList<Observacao> ObterTodosObservacoes(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao,
           string codigo, string descricao, DateTime? inicioVigenciaDe, DateTime? inicioVigenciaAte, DateTime? fimVigenciaDe,
           DateTime? fimVigenciaAte)
        {
            return Fachada.GetInstancia().ObterTodosObservacoes(inicio, quantidade, quantidadeMinima, usuarioPermissao, codigo,
                descricao, inicioVigenciaDe, inicioVigenciaAte, fimVigenciaDe, fimVigenciaAte);
        }

        public Observacao ObterObservacaoPorCodigo(Usuario usuarioPermissao,string codigo)
        {
            return Fachada.GetInstancia().ObterObservacaoPorCodigo(codigo, usuarioPermissao);
        }
    }
}